#ifndef BONELIST_H_
#define BONELIST_H_
#include "List.h"
#include "Mouse.h"

class Bone;
class BoneList
{
	public:
	
	List<Bone> * head;
	public:
	
	BoneList();
	BoneList(Bone * headBone);
	~BoneList();
	List<Bone> * Add(Bone * payload);
	void Remove(Bone * bone);
	
	Bone * Click(Vector2D headPosition, Mouse * mouse);
	void Drag(Vector2D headPosition, Mouse* mouse);
	Bone * GetHoverBone(Vector2D headPosition, Mouse * mouse);
	
	void CalculateAngleLength();
	void CalculatePosition();
	void Draw();
	char * GetTag();
	char * GetPose();
	int GetLength();
	void RunFunction( void (Bone::*func)(void));
};
#endif /*BONELIST_H_*/
